The present invention relates generally to a method and a system for managing a file access in a distributed file system.
In general, a distributed file system is used to realize a better performance and a larger storage capacity than non-distributed file system. One of the distribution file system approaches is called “in-bound” approach, where each of the host computers issues a request to one of the plurality of file servers as a target server, for access to a target file, and the target server redirects the request to the file server, in which the target file is located. This redirection method enables the host computers to access all the files stored in the file servers by connecting to one of the file servers. However, if the target files are not stored in the connected file server, the connected file server has to redirect repeatedly to the file server which stores the target files, therefore, that consumes bandwidth of the backend network and CPU load of each file server, and the latency for the I/O request becomes long.
In this situation, a load balancing is a useful method to prevent performance bottleneck caused by only a single server allocated to multiple servers. By using a load balancing, each file server comprising a distributed file system is not likely to cause saturation of CPU capacity or other resources until all the file servers equally have too much load.
For example, U.S. Pat. No. 6,886,035 addresses the issues of the bottlenecks and disadvantages associated with the distributed networks, and discloses the load balancing method which allows the clients to optimize throughput between themselves and the resources accessed by the nodes. More specifically, it discloses a method where a client's request for a resource is redirected from one server node to another according to a utilization condition.
However, the invention disclosed in U.S. Pat. No. 6,886,035 is only directed to load balancing between the clients and file servers, and does not resolve the overload between the file servers. Therefore, there is a need to consider load balancing between the file servers as well as load balancing between the clients and the file servers.